package com.tsing.service.impl;

import com.tsing.common.result.PageResult;
import com.tsing.mapper.ChannelMapper;
import com.tsing.mapper.impl.ChannelMapperImpl;
import com.tsing.pojo.entity.AdChannel;
import com.tsing.service.ChannelService;

import java.sql.SQLException;
import java.time.LocalDateTime;
import java.util.List;

/**
 * @author 吴阳基
 * @datetime 2023/12/4 8:52
 */
public class ChannelServiceImpl implements ChannelService {
    private final ChannelMapper channelMapper = new ChannelMapperImpl();
   /**
     * 根据指定参数检索广告渠道的分页列表。
     *
     * @param页 页码。必须大于或等于 1。
     * @param大小：每页的项目数。必须大于或等于 1。
     * @param状态 要检索的广告渠道的状态。必须大于或等于 0。
     * @param名称 要检索的广告渠道的名称。空字符串将检索所有广告渠道。
     * @return 一个 PageResult 对象，其中包含广告渠道列表、广告渠道总数、页面大小和当前页面。
     * @throws SQLException 如果数据库查询过程中出现错误。
     */
    @Override
    public PageResult<AdChannel> list(Integer page, Integer size, Integer status, String name) throws SQLException {
//        if (page < 1) {
//            page = 1; // default value
//        }
//        if (size < 1) {
//            size = 10; // default value
//        }
//        if (status < 0) {
//            status = 0; // default value
//        }
//        if (name == null || name.trim().isEmpty()) {
//            name = ""; // default value
//        }

        return channelMapper.list(page, size, status, name);
    }
    @Override
    public int add(AdChannel adChannel) throws SQLException {
        return channelMapper.add(adChannel);
    }

    @Override
    public int save(AdChannel adChannel) throws SQLException {
        adChannel.setCreatedTime(LocalDateTime.now());
        return channelMapper.add(adChannel);
    }

    @Override
    public int update(AdChannel adChannel) throws SQLException {

        return channelMapper.update(adChannel);
    }

    @Override
    public int delete(int id) throws SQLException {
        return channelMapper.delete(id);
    }
}
